<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>

        /*
        宏任务和微任务执行方式
        宏任务：一个接一个排队执行，当有新任务加入队列时，会排到队列末尾
        微任务：一个接一个排队执行，当有新任务加入队列时，直接排队到下一个执行

        宏任务和微任务的关系
        当每个宏任务执行完毕时，会检查宏任务范围内存在的微任务
        如果存在微任务就按微任务执行规则执行，如果不存在就执行下一个宏任务

        同步和异步
        同步
        js程序执行最先执行的script标签属于一个宏任务，在这个script宏任务内执行的代码块是同步程序
        在script宏任务内的微任务属于异步程序，script宏任务执行完的下一个宏任务也是异步程序
        */

    </script>
</body>
</html>